package com.insurance.controller;

import cn.hutool.core.util.IdUtil;
import com.insurance.pingan.bid.dto.pay.PayRequestDto;
import com.insurance.pingan.bid.utils.SHA256Util;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONObject;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * @author Style
 * @version 1.0
 * @date 2020/9/26
 **/
@RestController
@Slf4j
public class TestController {

    @GetMapping("/test")
    public String test(HttpServletRequest request){
        Map<String, String[]> parameterMap = request.getParameterMap();
        log.info(parameterMap.toString());
        return "test";
    }


    public String pingPrePay(){
        PayRequestDto payRequestDto = new PayRequestDto();
        payRequestDto.setTradeNo("ZsRa"+IdUtil.fastSimpleUUID().substring(4));
        payRequestDto.setProductName("投标保证");
        payRequestDto.setProductType("02");
        payRequestDto.setProductCode("MP05000038");
        payRequestDto.setCustomerName("中盛融安");
        payRequestDto.setReturnUrl("http://www.baidu.com");
        payRequestDto.setFrontNotifyUrl("http://6hvs7w.natappfree.cc/insurance-bid/test");
        payRequestDto.setApplyPolicyNo("12345678");
        payRequestDto.setNoticeNo(IdUtil.fastSimpleUUID());
        payRequestDto.setPartnerName("P_ZSRA_GP");
        payRequestDto.setAmount("500.00");
        JSONObject jsonObject = JSONObject.fromObject(payRequestDto);
        log.info("【{}】", jsonObject.toString());
        return "";
    }

    public static void main(String[] args) {
        PayRequestDto payRequestDto = new PayRequestDto();
        payRequestDto.setTradeNo("ZsRa"+IdUtil.fastSimpleUUID().substring(4));
        payRequestDto.setProductName("投标保证");
        payRequestDto.setProductType("02");
        payRequestDto.setProductCode("MP05000038");
        payRequestDto.setCustomerName("中盛融安");
        payRequestDto.setReturnUrl("http://www.baidu.com");
        payRequestDto.setFrontNotifyUrl("http://6hvs7w.natappfree.cc/insurance-bid/test");
        payRequestDto.setApplyPolicyNo("51077003900230858285");
        payRequestDto.setNoticeNo("10150006000145296053");
        payRequestDto.setPartnerName("P_ZSRATB_GP");
        payRequestDto.setAmount("500.00");
        payRequestDto.setSignMsg(SHA256Util.sha256LowerCase(payRequestDto.getPartnerName()+payRequestDto.getProductCode()+payRequestDto.getCustomerName()+ payRequestDto.getAmount()+payRequestDto.getNoticeNo()));
        JSONObject jsonObject = JSONObject.fromObject(payRequestDto);
        System.out.println(jsonObject.toString());

    }
}
